Time domain equalization for discrete multi-tone systems

ABSTRACT

A multiple carrier communication system includes a primary impulse shortening filter that receives an output signal of an analog to digital converter and accepts coefficients. A secondary impulse shortening filter receives the output signal of the analog to digital converter, outputs an output signal, and passes coefficients to the primary impulse shortening filter. A reference signal generator outputs a reference signal. A comparator compares the output signal and the reference signal and outputs a resulting error signal. An adaptive processor computes coefficients for the secondary impulse shortening filter based on the error signal.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority from U.S. Provisional Application No. 60/087,336, filed May 29, 1998 and entitled “Time Domain Equalization in DMT Systems”, which is incorporated herein by reference. This application is related to U.S. application Ser. No. 09/054,468, filed Apr. 3, 1998 and entitled “Spectrally Constrained Impulse Shortening Filter for a Discrete Multi-tone Receiver”, which is incorporated herein by reference.

BACKGROUND

[0002] The invention relates to time-domain equalization in a discrete multi-tone (DMT) receiver.

[0003] Conventional single carrier modulation techniques translate data bits for transmission through a communication channel by varying the amplitude and/or phase of a single sinusoidal carrier. By contrast, DMT, which is also referred to as Orthogonal Frequency Division Multiplexing (OFDM) or Multicarrier Modulation (MCM), employs a large number of sinusoidal subcarriers, e.g., 128 or 256 subcarriers. The available bandwidth of the communication channel is divided into subchannels and each subchannel communicates a part of the data. A DMT system may employ quadrature amplitude modulation (QAM) for each of the subcarriers.

[0004] OFDM-based systems transmit blocks of information bits. The time required to transmit one such block is called the symbol period. The time domain waveform that corresponds to one such block of bits is called a symbol.

[0005] Intersymbol interference (ISI) arises from the characteristics of practical communication channels and limits the rate at which information can be transmitted through them. Specifically, communication channels typically have an Effective Discrete-Time Impulse Response (EDIR) that is greater than one sample time in length, which causes ISI. ISI is a well-known phenomenon in single-carrier communication systems and there are many techniques for reducing it. The process of such ISI reduction is called equalization. ISI is discussed, for example, in Proakis, Digital Communications, McGraw Hill, 2nd Edition, 1989.

[0006] Equalization in OFDM-based systems is achieved by a two stage process. First, at the transmitter, a Cyclic Prefix (CP) is employed by affixing an end-portion of each symbol to the beginning of the symbol. A cyclic prefix that is greater than the EDIR of the channel prevents one symbol from interfering with another. Furthermore, it also facilitates a simple method of neutralizing the time domain spread of each symbol forced by the channel. This is achieved through a simple frequency domain process in the receiver which requires one multiplication operation for each subcarrier used. The use of a Cyclic Prefix to reduce ISI is discussed, for example, in: Cimini, “Analysis and Simulation of a Digital Mobile Channel using Orthogonal Frequency Division Multiplexing,” IEEE Transactions on communications, pp 665-675, July 1985; Chow, “A Discrete Multi-Tone Transceiver System for HDSL applications,” IEEE Journal on Selected Areas of Communications, 9(6):895-908, August 1991; and “DMT Group VDSL PMD Draft Standard Proposal,” Technical Report, T1E1.4/96-329R2, ANSI 1997.

[0007] Another problem arising in conventional DMT systems is noise bleeding, which occurs when noise from one frequency band interferes with a signal whose subcarrier is in another frequency band. Noise bleeding is caused, in general, by a discrete Fourier transform (DFT) operation at the receiver. Noise bleeding is discussed in, for example, Worthen et. al., “Simulation of VDSL Test Loops,” Technical Report T1E1.4/97-288, ANSI 1997.

[0008] In a perfectly synchronized DMT system, a signal in one frequency band does not interfere with a signal whose subcarrier is in another frequency band. However, noise from one band may interfere with other less noisy bands and render them unusable. Techniques for dealing with noise-bleeding include wavelet-based solutions. However, wavelet-based solutions are, in general, computationally intensive.

[0009] Other references dealing with time domain equalization include: Chow, J. S. and Cioffi, J. M., “A Cost-effective Maximum Likelihood Receiver for Multicarrier Systems”, Proceedings of the ICC, 1992; Melsa, Peter J. W., Younce, Richard C., and Rohrs, Charles E., “Optimal Impulse Response Shortening”, Proceedings of the thirty-third Annual Allerton Conference on Communication. Control and Computing, 1995, pp. 431-438; Harikumar, Gopal and Marchok, Daniel, “Shortening the Channel Impulse Response of VDSL Loops for Multicarrier Applications”, Technical report T1E1.4/97-289, ANSI, 1997.

SUMMARY

[0010] A spectrally constrained impulse shortening filter (SCISF) may be used, for example, in DMT systems. The coefficients of the SCISF may be computed efficiently. For example, the coefficients may be computed and changed through a training process that may occur upon start up of the communication system and periodically during its operation.

[0011] The SCISF serves two primary functions. First, it reduces intersymbol interference (ISI) by reducing the length of the effective discrete-time impulse response (EDIR) of the communication channel. Conventional impulse shortening filters may have deep nulls in their frequency response. By contrast, the SCISF has a filter characteristic that is essentially free from undesired nulls that may attenuate or completely eliminate certain subcarriers.

[0012] Second, the SCISF reduces noise bleeding between subchannels by attenuating noisy channels in a manner that does not reduce the signal to noise ratio (SNR) in these channels, but reduces the noise power that may appear in the sidelobes of adjacent subchannels. The SCISF accomplishes these functions by applying a frequency constraint to the signal based on a desired spectral response.

[0013] The coefficients of the SCISF are computed independent of the length of the cyclic prefix, the symbol length, and the frequency domain equalization characteristics of the system. The SCISF is particularly effective in systems in which additive noise dominates intersymbol interference, or in which noise bleeding predominates. The SCISF reduces noise bleeding with a filter structure that is shorter than that obtained with other techniques. Consequently, the SCISF is less complex and its coefficients are easier to compute, which reduces system complexity and cost. The SCISF may be particularly well suited, for example, for very high-speed digital subscriber lines (VDSL) systems, which generally have low intersymbol interference and tend to suffer from noise bleeding.

[0014] In addition, dynamic selection of a cyclic prefix (CP) that maximizes the data throughput for a communication channel having a particular noise profile is provided. Dynamic selection of the CP allows the communication system to adapt to changing noise conditions in the communication channel.

[0015] In one aspect, generally, a primary impulse shortening filter is adapted in a multiple carrier communication system. A secondary impulse shortening filter is provided. An output signal of the secondary impulse shortening filter is compared to a reference signal to compute an error signal. Coefficients of the secondary impulse shortening filter are computed in an adaptive processor based on the error signal. Coefficients of the primary impulse shortening filter are replaced with coefficients of the secondary impulse shortening filter.

[0016] Embodiments may include one or more of the following features. An output signal of the primary impulse shortening filter may be decoded to form output data. The output data may be encoded to form the reference signal. A discrete Fourier transform may be applied to the output signal of the primary impulse shortening filter prior to decoding the output signal. An inverse discrete Fourier transform may be applied to the encoded output data in forming the reference signal.

[0017] A digital signal may be received from an output of an analog to digital converter. The digital signal may be input to the primary impulse shortening filter. The digital signal may be delayed. The delayed digital signal may be input to the secondary impulse shortening filter and the adaptive processor.

[0018] The encoded output data may be scaled with a set of scaling factors in forming the reference signal. The scaling factors may be determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, and computing the scaling factors so that the coefficients computed in the adaptive processor provide the secondary impulse shortening filter with a spectral response that matches the desired spectral response. A discrete Fourier transform may be applied to the output signal of the primary impulse shortening filter prior to decoding the output signal. The noise power spectral density may be measured at an output of the discrete Fourier transform. An inverse discrete Fourier transform may be applied to the scaled, encoded output data.

[0019] In another aspect, an impulse shortening filter is adapted in a multiple carrier communication system having a spectrally constrained impulse shortening filter. An output signal of the spectrally constrained impulse shortening filter is compared to a reference signal to compute an error signal. Coefficients of the spectrally constrained impulse shortening filter are computed in an adaptive processor based on the error signal.

[0020] Embodiments may include one or more of the following features. The reference signal may be a predetermined signal stored in a memory in the communication system. A discrete Fourier transform may be applied to predetermined reference values to form transformed reference values. The transformed reference values may be scaled with a set of scaling factors to form scaled. An inverse discrete Fourier transform may be applied to the scaled values to form the reference signal.

[0021] A data signal may be received from an output of an analog to digital converter. The data signal may be input to the spectrally constrained impulse shortening filter and the adaptive processor.

[0022] In another aspect, a multiple carrier communication system includes a primary impulse shortening filter that receives an output signal of an analog to digital converter and accepts coefficients. A secondary impulse shortening filter receives the output signal of the analog to digital converter, outputs an output signal, and passes coefficients to the primary impulse shortening filter. A reference signal generator outputs a reference signal. A comparator compares the output signal and the reference signal and outputs a resulting error signal. An adaptive processor computes coefficients for the secondary impulse shortening filter based on the error signal.

[0023] Embodiments may include one or more of the following features. A discrete Fourier transform may receive an output signal of the primary impulse shortening filter. A decoder may receive the transformed output signal from the discrete Fourier transform. The reference signal generator may include an encoder that receives output data from the decoder. The reference signal generator may include a scaling filter that scales the output data from the encoder using a set of scaling factors. An inverse discrete Fourier transform may receive the scaled output signal from the scaling filer.

[0024] In another aspect, a multiple carrier communication system may include a spectrally constrained impulse shortening filter that receives an output signal of an analog to digital converter and accepts coefficients. A reference signal generator outputs a reference signal. A comparator compares the output signal and the reference signal and outputs a resulting error signal. An adaptive processor computes coefficients for the spectrally constrained impulse shortening filter based on the error signal.

[0025] Embodiments may include one or more of the following features. A memory may store the reference signal as a predetermined signal. A discrete Fourier transform may receive the reference signal from the memory. A scaling filter may scale the reference signal using a set of scaling factors. An inverse discrete Fourier transform may receive the scaled reference signal.

[0026] Other features and advantages will be apparent from the following detailed description, including the drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0027]FIG. 1 is a block diagram of a discrete multi-tone communication system with a spectrally constrained impulse shortening filter.

[0028]FIG. 2 is a block diagram of a system for adapting a spectrally constrained impulse shortening filter in an initial training process.

[0029]FIGS. 3A and 3B are block diagrams of a system for adapting a spectrally constrained impulse shortening filter in an periodic or continuous training process.

[0030]FIG. 4 is a block diagram of a generalized adaptation system that employs frequency scaling in the feedback loop.

[0031]FIG. 5 is a block diagram of a system for adapting a spectrally constrained impulse shortening filter in an initial training process that includes frequency scaling in the feedback loop.

[0032]FIGS. 6A and 6B are block diagrams of a system for adapting a spectrally constrained impulse shortening filter in an periodic or continuous training process that includes frequency scaling in the feedback loop.

[0033] FIGS. 7A-7D are plots of simulation results for a discrete multi-tone system.

[0034] FIGS. 8A-8D are plots of simulation results for a discrete multi-tone system.

DESCRIPTION

[0035] As shown in FIG. 1, a discrete multi-tone (DMT) communication system 10 has a transmitter 12 and a receiver 14. The transmitter 12 accepts an input data bit stream which passes through a constellation encoder 20. The encoder 20 divides the serial input bit stream into blocks of data. These blocks of data are further subdivided into smaller blocks corresponding to subchannels. Each of these smaller blocks are used to compute a complex value representing a constellation point. Each constellation point corresponds to a subsymbol. The subsymbols are then output by the encoder. Taken together, the subsymbols constitute a symbol.

[0036] The subsymbols are supplied to an inverse discrete Fourier transform (IDFT) 30, which may be implemented, for example, in a digital signal processor. The IDFT 30 outputs N time samples of a symbol. The time samples are processed by a parallel to serial converter 40 to form a single stream of time samples.

[0037] Following the parallel to serial converter 40, a prefix adder 50 adds a cyclic prefix to the beginning of each symbol to reduce intersymbol interference (ISI). Alternatively, the cyclic prefix may be added in the parallel to serial converter. After the cyclic prefix is added, the resulting signal passes through a digital-to-analog (D/A) converter 60 for transmission to the receiver 14 through a communication channel 70. An analog transmit filter 65 may be included following the D/A converter to band limit the transmitted signal.

[0038] At the receiver 14, the signal passes through an analog-to-digital (A/D) converter 80 and then through a spectrally constrained impulse shortening filter (SCISF) 90. A prefix stripper 100 strips the cyclic prefixes from the resulting symbols and a serial to parallel converter 110 divides the stream of time samples into parallel signal paths that form the inputs to a discrete Fourier transform (DFT) 120. The DFT 120 converts the time samples into subsymbols. A frequency domain equalization filter 130 equalizes the subsymbols. A decoder 140 converts the subsymbols into a data bits and outputs the resulting data. An analog receive filter 75 may be included prior to the A/D converter in order to band limit the received signal.

[0039] As discussed above, a cyclic prefix is added to each symbol prior to transmission through the communication channel to reduce the effects of ISI. The cyclic prefix is added by copying the last ν time samples from the end of a symbol and placing them at the beginning of the symbol. To eliminate ISI, the length of the cyclic prefix, ν, is chosen to be longer than the effective discrete-time impulse response (EDIR) of the channel. However, because the cyclic prefix constitutes redundant data, increasing the length of the cyclic prefix reduces the efficiency of the communication system. For example, in a system having N time samples per symbol and a cyclic prefix of ν time samples, the efficiency of the system will be reduced by a factor of N/(N+ν). Efficiency may be maximized either by minimizing ν or maximizing N. However, increasing N increases the complexity, latency and computational requirements of the system and at some point becomes impractical. Accordingly, it is desirable to minimize ν.

[0040] A spectrally constrained impulse shortening filter having an impulse response, g(n), may be employed in the receiver to minimize the length of the cyclic prefix by decreasing the EDIR of the effective communication channel, which includes the transmit and receive filters, the impulse shortening filter, and the physical transmission channel. The use of an impulse shortening filter is referred to as time domain equalization. Decreasing the EDIR allows a shorter cyclic prefix to be used without increasing ISI.

[0041] The SCISF may be configured, by determining the filter coefficients during a training or adaptation period. The SCISF filters the output {y_(k)} of the receiver A/D 80. The coefficients are selected using an algorithm that minimizes the squared error between a reference sequence {u_(k)} generated by the receiver and the output of the SCISF {û_(k)}. The SCISF may be a finite impulse response (FIR) filter or an infinite impulse response (IIR) filter. The SCISF may be trained following activation of the communication system or periodically during operation of the system to compensate for variations in the channel noise profile.

[0042] The training may be performed using a variation of one of the classical adaptive algorithms, such as least mean squares (LMS), normalized LMS, or recursive least squares (RLS). For example, the following algorithm is a version of the normalized LMS algorithm in which b₀, . . . , b_(N) and a₁, . . . , a_(N) are the FIR and IIR parts of a SCISF having an impulse response, g. The z-transform G(z) is: $\begin{matrix} {{G(z)} = \frac{b_{0} + {b_{1}z^{- 1}} + \cdots + {b_{N}z^{- N}}}{1 - {a_{1}z^{- 1}} - \cdots - {a_{N}z^{- N}}}} & (1) \end{matrix}$

[0043] The adaptation of coefficients a_(i) and b_(i) is defined in the following equations, in which a_(i)(k) and b_(i)(k) are the values of these coefficients during the k^(th) iteration. The parameter μ is a predetermined constant with a value of 0.4. $\begin{matrix} {{\hat{u}}_{k} = {{\sum\limits_{i = 0}^{N}\quad {{b_{i}(k)}y_{k - i}}} + {\sum\limits_{j = 1}^{N}\quad {{a_{i}(k)}{\hat{u}}_{k - i}}}}} & \text{(2a)} \end{matrix}$

 α_(k) =[b ₀(k), . . . , b _(N)(k)]  (2b)

β_(k) =[a ₁(k), . . . , a _(N)(k)]  (2c)

d _(k) =[y _(k) ,y _(k−1) , . . . , y _(k−N)]  (2d)

c _(k) =[û _(k−1) ,û _(k−2) , . . . , û _(k−N)]  (2e)

[0044] $\begin{matrix} {{e_{k}\underset{\_}{\underset{\_}{\Delta}}u_{k}} - {\hat{u}}_{k}} & \text{(2f)} \\ {a_{k + 1} = {a_{k} + {\mu e_{k}\frac{d_{k}}{{d_{k}}^{2}}}}} & \text{(2g)} \\ {\beta_{k + 1} = {\beta_{k} + {µe_{k}\frac{c_{k}}{{c_{k}}^{2}}}}} & \text{(2h)} \end{matrix}$

[0045] In a first embodiment, the coefficients of the SCISF are determined during an initial training period following the activation of the communication system using the LMS algorithm described above. A predetermined sequence of bits x_(k) is input to the transmitter 12. The sequence of bits results in a sequence of real numbers {x_(k)} at the input of the D/A 60. As shown in FIGS. 1 and 2, the transmitted signal is filtered and noise-corrupted by the transmission channel 70, resulting in a received sequence {y_(k)} at the output of the A/D 80 in the receiver 14. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}_(k)}. The output sequence {{circumflex over (x)}_(k)} is compared (in a signal comparator 205) to the predetermined sequence x_(k), which is stored in memory 210 in the receiver. The comparison results in an error signal e_(k) that is input to the LMS algorithm processor 215 along with sequence {{circumflex over (x)}_(k)}.

[0046] The training process determines coefficients for the SCISF so that the output {{circumflex over (x)}_(k)} matches the predetermined sequence {x_(k)} as closely as possible in a least squares sense, i.e., the mean square error between the output and the predetermined sequence is minimized. During the training process, the coefficients of the SCISF converge to values that enable the SCISF to reduce ISI and additive noise. The resulting SCISF matches P₁(ω) in the frequency domain in a least squares sense, where: $\begin{matrix} {{P_{1}(\omega)} = \frac{{S_{x}(\omega)}H*(\omega)}{\left. {S_{x}(\omega)} \middle| {H(\omega)} \middle| {}_{2}{+ {S_{\eta}(\omega)}} \right.}} & (3) \end{matrix}$

[0047] In the equation above, S_(χ)(ω) is the power-spectral density at the input ot the transmitter D/A 60, S_(η)(ω) is the power spectral density of the additive noise at the output of the A/D 80, and H(ω) is the frequency response of the effective discrete-time impulse response (EDIR) of the transmission channel 70, transmit filter 65, and receive filter 75 measured between the input of the transmitter D/A 60 and the output of the receiver A/D 80.

[0048] Upon completion of the initial training of the SCISF, the SCISF coefficients are fixed and the frequency domain equalizer (FEQ 130) of the receiver is trained using standard techniques for DMT receivers. Following the training of the FEQ, the SCISF can be periodically trained or adapted during operation of the communication system. Since it is not efficient to repeatedly transmit a predetermined bit sequence during operation of the communication system, the periodic training process uses transmitted communication data to generate the reference and output sequences, as described below.

[0049] During operation of the communication system, a sequence of communication data bits x_(k) is input to the transmitter 12 (see FIG. 1). The sequence of data bits results in a sequence of real numbers {x_(k)} at the input of the D/A 60. As shown in FIGS. 1 and 3A, the transmitted signal is filtered and noise-corrupted by the transmission channel 70, resulting in a received sequence {y_(k)} at the output of the A/D 80 in the receiver 14. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}′_(k)}.

[0050] The received sequence {y_(k)} is also input to a delay 305 and then to a secondary SCISF 300 that has the same coefficients as the primary SCISF 90 following the initial training. Such a configuration allows periodic training to be performed without disruption to the operation of the communication system. The secondary SCISF 300 is periodically or continuously trained using an algorithm similar to that used for the initial training. The new coefficients of the secondary SCISF 300 are periodically copied to the primary SCISF 90.

[0051] In an initial training process, the output sequence {{circumflex over (x)}_(k)} of the secondary SCISF 300 would be compared (in a signal comparator 205) to a predetermined sequence x_(k) stored in memory. However, as discussed above, a sequence of data communication bits is used as a reference sequence for training rather than a predetermined sequence. As such, the receiver must have a way of generating a reference signal to compare to the output of the SCISF.

[0052] To compute the reference sequence, the receiver essentially duplicates the encoding and modulation processes of the transmitter using the output of the decoder 140. Because the initial training has already been performed, the SCISF 90 output {{circumflex over (x)}′_(k)} matches the predetermined sequence {x_(k)} closely and ISI and additive noise are minimized. Hence, the data output of the decoder 140 closely matches the transmitted sequence of communication data bits X_(k). The data bits are input to an encoder 320, an IDFT 330, a parallel to serial converter 340, and a prefix adder 350 similar to those in the transmitter. The output sequence {x_(k)} of this chain is input to the LMS algorithm processor 215 and used as a reference sequence in the training algorithm.

[0053] The output sequence {{circumflex over (x)}_(k)} of the secondary SCISF 300 is compared (in a signal comparator 205) to the reference sequence {x_(k)}, which is output by the encoding/modulation chain (320, 330, 340 and 350). As noted above, the received sequence {y_(k)} passes through a delay 305 before being input to the secondary SCISF 300. The delay 305 compensates for the processing delay in the demodulation/decoding chain and the encoding/modulation chain. The comparison results in an error signal e_(k) that is input to the LMS algorithm processor 215. The training process determines coefficients for the secondary SCISF 300 so that the output {{circumflex over (x)}_(k)} matches the reference sequence {x_(k)} as closely as possible in a least squares sense, i.e., the mean square error between the output and the reference sequence is minimized. Periodically, the coefficients of the secondary SCISF 300 are copied to the primary SCISF 90.

[0054] Alternatively, as shown in FIG. 3B, the periodic training may be performed with a single SCISF 90. In this configuration, a received sequence {y_(k)} is output by the A/D 80 in the receiver 14. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}′_(k)}. The received sequence {y_(k)} is also input to a delay 305. After the received sequence {y_(k)} passes through the SCISF 90, a data switch 360 is changed from position A to position B, allowing the delayed received sequence to make a second pass through the SCISF 90. An output switch 370 also may be opened, so that data is not output during the training process. In addition, the SCISF coefficients are controlled by the LMS algorithm during the training process.

[0055] A reference sequence is computed as in the configuration of FIG. 3A. The data bits are input to an encoder 320, an IDFT 330, a parallel to serial converter 340, and a prefix adder 350. The resulting reference sequence {x_(k)} is input to the LMS algorithm processor.

[0056] The output sequence {{circumflex over (x)}_(k)} of the second pass through the SCISF 90 is compared (in signal comparator 205) to the reference sequence. As noted above, the received sequence {y_(k)} passes through a delay 305 before being input to the SCISF 90 for the second pass. The delay 305 compensates for the processing delay in the demodulation/decoding chain and the encoding/modulation chain. The comparison results in an error signal e_(k) that is input to the LMS algorithm processor 215. The training process determines coefficients for the SCISF 90 so that the output {{circumflex over (x)}_(k)} matches the reference sequence {x_(k)} as closely as possible in a least squares sense, i.e., the mean square error between the output and the reference sequence is minimized. The coefficients of the SCISF 90 then are updated to the coefficients determined in the training process.

[0057] In a second embodiment, the SCISF 90 coefficients are chosen so that the frequency response of the SCISF matches a desired spectral response G_(d)(ω) that seeks to minimize the effects of noise-bleeding and maximize system bit throughput. The desired spectral response G_(d)(ω) is determined based on the signal-to-noise ratios observed in the various frequency bins of the DFT 120 in the receiver.

[0058] For example, an OFDM system may have M tones, N of which (m₁ through m_(N)) are used. The system operates over a channel with analog frequency response H_(c)(ƒ). Referring again to FIG. 1, the analog noise power spectral density at the input of the receiver A/D 80 is S_(η)(ƒ). Prior to receiver A/D 80, the received analog signal may be filtered by an anti-aliasing filter (i.e., receive filter 75) having a transfer function H_(a)(ƒ). The effective discrete-time impulse response (EDIR) of the transmission channel of the OFDM system (including the transmit filter 65 and receive filter 75) is h(n). The output of the A/D 80 is input to a SCISF 90 having an impulse response g(n). G(ω) is the spectral response corresponding to g(n).

[0059] The expected signal energy μ(k) observed in frequency bin k at the output of the DFT120, which has a length of NM, is: $\begin{matrix} {{{\mu (k)} = \left. {C_{1}D_{k}} \middle| {H\left( \frac{\pi \quad k}{M} \right)} \middle| {}_{2} \middle| {G\left( \frac{\pi \quad k}{M} \right)} \right|^{2}};{{H(\omega)} = {{H_{c}\left( \frac{\omega}{2\pi \quad T} \right)}{H_{a}\left( \frac{\omega}{2\pi \quad T} \right)}}}} & (4) \end{matrix}$

[0060] where C₁ is a constant, 1/T is the sampling frequency and D_(k) is the transmitted power in frequency bin k. The noise power η(k) in bin k is: $\begin{matrix} {{\eta (k)} = \left. {{C_{2}\left\lbrack {{S_{\eta}\left( \frac{\omega}{2\pi \quad T} \right)}{{G(\omega)}}^{2}{{H_{a}\left( \frac{\omega}{2\pi \quad T} \right)}}^{2}} \right\rbrack}*\left\lbrack \frac{\sin^{2}\left( {M\quad \omega} \right)}{\sin^{2}\left( \frac{\omega}{2} \right)} \right\rbrack} \right|_{\omega = \frac{\pi \quad k^{\prime}}{M}}} & (5) \end{matrix}$

[0061] where C₂ is a constant and * denotes a convolution of the discrete Fourier transforms. If the noise in the bands occupied by unused tones is sufficiently attenuated by the anti-alias filter (receive filter 75), η(k) is approximately: $\begin{matrix} {{\eta (k)} \approx {C_{3}{\sum\limits_{l = M_{1}}^{M_{2}}\quad {{S_{\eta}\left( \frac{1}{2{MT}} \right)}{{G\left( \frac{\pi \quad l}{M} \right)}}^{2}{{H_{a}\left( \frac{l}{2{MT}} \right)}}^{2}\left( {{\tau \left( {k - l} \right)} + {\tau \left( {{2M} - k - l} \right)}} \right),}}}} & (6) \end{matrix}$

[0062] where τ(n) is defined as: $\begin{matrix} {{\tau (n)} = {\int_{- \frac{\pi}{NM}}^{\frac{\pi}{NM}}{\left\lbrack \frac{\sin^{2}\left( {M\left( {\frac{\pi \quad n}{M} - \lambda} \right)} \right)}{\sin^{2}\left( {\frac{1}{2}\left( {\frac{\pi \quad n}{M} - \lambda} \right)} \right)} \right\rbrack \quad {\lambda},}}} & (7) \end{matrix}$

[0063] m₁ . . . m_(N) are the used tones, and C₃ is a constant. A vector of frequency magnitudes g is defined as: $\begin{matrix} {{g\quad {\underset{\_}{\underset{\_}{\Delta}}\begin{bmatrix} \left| {G\left( \frac{\pi \quad m_{1}}{M} \right)} \right|^{2} \\ \vdots \\ \left| {G\left( \frac{\pi \quad m_{N}}{M} \right)} \right|^{2} \end{bmatrix}}} = \begin{bmatrix} G_{1} \\ \vdots \\ G_{N} \end{bmatrix}} & (8) \end{matrix}$

[0064] The SNR in frequency bin k is $\frac{r_{k}G_{k}}{s_{k}^{T}g}$

[0065] for scalars r_(k) and vectors s_(k). The scalars r_(k) are defined by: $\begin{matrix} {r_{k}\underset{=}{\Delta}C_{1}D_{k}{{H\left( \frac{\pi \quad k}{M} \right)}}^{2}} & (9) \end{matrix}$

[0066] and s_(k)(l), the lth component of s_(k) is defined by: $\begin{matrix} {{s_{k}(1)} = {C_{3}{S_{\eta}\left( \frac{1}{2\quad {MT}} \right)}{{H_{a}\left( \frac{1}{2\quad {MT}} \right)}}^{2}\left( {{\tau \left( {k - l} \right)} + {\tau \left( {{2M} - k - l} \right)}} \right)}} & (10) \end{matrix}$

[0067] To determine an expression for g that maximizes system bit throughput, the capacity of each frequency bin k is approximated by log(1+SNR_(k)). Accordingly, the optimal spectral profile is determined by minimizing the cost function F, where: $\begin{matrix} {{F(g)} = {- {\sum\limits_{k = m_{1}}^{m_{N}}{\log \left( {1 + \frac{r_{k}G_{k}}{s_{k}^{T}g}} \right)}}}} & (11) \end{matrix}$

[0068] Since G_(k)=|G(πm_(k)/M)|², the minimization of the cost function is performed over all positive values of G_(k), as: $\begin{matrix} {g_{opt} = {\arg \quad {\min\limits_{g\quad \varepsilon \quad G}{F(g)}}}} & (12) \end{matrix}$

[0069] where:

G={gεR ^(N) :∥g∥=1, G _(i)≧0,1≦i≦N}.  (13)

[0070] A variety of constrained optimization strategies may be used to solve the above equations for g_(opt).

[0071] Once the optimal impulse response g_(opt) and desired spectral response G_(d)(ω) (which may be expressed as G_(d)(πm_(k)/M) for a system having M tones) have been determined, a training process is used to adapt the SCISF 90 so that its impulse response g matches the desired spectral response. As shown in FIG. 4, the training process may be generalized as a feedback system. A reference sequence x_(k) is input to the system. This corresponds to inputting a predetermined reference bit sequence to a transmitter. The reference sequence passes through a transmission channel 410 having frequency response H(ƒ) (including the physical transmission channel and the transmit and receive filters). Additive noise η_(k) from the transmission channel is represented in this general model as an external input 420 to the system. The resulting signal Y_(k) is input to a filter 430 having a frequency response G(ƒ), e.g., a SCISF. The output of the filter 430 is then passed to an adaptation processor 440, which computes an error signal based on the feedback loop 450 and adapts the filter accordingly. The adaptation processor may, for example, use the LMS algorithm described above.

[0072] The reference sequence x_(k) is also input to the feedback loop 450, which passes the reference sequence x_(k) through a scaling filter 460 with frequency characteristic Q(ƒ). The frequency characteristic Q(ƒ) of the scaling filter 460 (which may be expressed as a set of frequency domain scaling factors Q_(k)) is determined so that the SCISF adapts to the desired spectral response. The output of the scaling filter 460 is used a reference for the calculation of the error signal in the adaptation processor 440, as described above.

[0073] Using the general feedback system shown in FIG. 4, a SCISF having an impulse response g may be trained to minimize the error ∥q*x−x*g*h−η*g∥². The resulting filter matches P₂(ω) in the frequency domain in a least-squares sense, where: $\begin{matrix} {{{P_{2}(\omega)} = \frac{{S_{x}(\omega)}H*(\omega){Q(\omega)}}{{{S_{x}(\omega)}{{H(\omega)}}^{2}} + {S_{\eta}(\omega)}}},} & (14) \end{matrix}$

[0074] S_(χ)(ω) is the power-spectral density at the input of the system, H(ω) is the frequency response of the effective discrete-time impulse response (EDIR) of the transmission channel, S_(η)(ω) is the power spectral density of the additive noise, and Q(ω) is the spectral response of the scaling filter 460 having impulse response q.

[0075] The solution for g_(opt) in the equations above specifies only the magnitude of the spectral response of the SCISF. If the SCISF is a FIR filter, a linear phase characteristic may be used. If the length of the SCISF is n_(g), the desired values of G(ω) for the frequency bins of interest are: $\begin{matrix} {{G_{d}\left( {\pi \quad {M_{k}/M}} \right)}\underset{=}{\Delta}\sqrt{g_{opt}(k)}{{\exp \left( \frac{{- j}\quad \pi \quad {M_{k}\left( {n_{g} - 1} \right)}}{2\quad M} \right)}.}} & (15) \end{matrix}$

[0076] The values Q_(k) are defined by: $\begin{matrix} {Q_{k} = \frac{{G_{d}\left( {\pi \quad {m_{k}/M}} \right)}\left( {{{S_{x}\left( {j\quad \pi \quad {k/M}} \right)}{{H\left( {j\quad \pi \quad {k/M}} \right)}}^{2}} + {S_{\eta}\left( {j\quad \pi \quad {k/M}} \right)}} \right)}{{S_{\eta}\left( {j\quad \pi \quad {k/M}} \right)}H*\left( {j\quad \pi \quad {k/M}} \right)}} & (16) \end{matrix}$

[0077] The values of Q_(k) may be computed during an initial training period and may be periodically updated during operation of the communication system.

[0078] As shown in FIGS. 5, 6A and 6B, the general feedback training process may be used to perform an initial training of a SCISF followed by periodic training analogous to the process described above with respect to FIGS. 1-3. One difference between the techniques is that a scaled reference signal (x*q)_(k) is used rather than an unscaled reference x_(k).

[0079] Referring to FIG. 5, to perform the initial training, a predetermined sequence of bits x_(k) is input to the transmitter. The transmitted signal is filtered and noise-corrupted by the transmission channel, resulting in a received sequence {y_(k)} at the output of the A/D 80 in the receiver. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}_(k)}. The output sequence {{circumflex over (x)}_(k)} is compared (in a signal comparator 205) to a scaled reference sequence (x*q)_(k).

[0080] The scaled reference sequence is computed from a copy of the predetermined sequence x_(k) that is stored in memory 210 in the receiver. As a first step, the predetermined sequence is input to a serial to parallel converter 510 and a DFT 515. The resulting frequency domain signal is input to a scaling filter 520 which applies the set of frequency domain scaling factors Q_(k) that causes the SCISF to adapt to the desired spectral response, as discussed above. The scaled signal is input to an inverse discrete Fourier transform 330, a parallel to serial converter 340 and a cyclic prefix adder 350, resulting in a scaled reference sequence (x*q)_(k). The comparison of the output sequence {{circumflex over (x)}_(k)} to the scaled reference sequence (x*q)_(k) results in an error signal e_(k) that is input to the LMS algorithm processor 215 along with sequence {{circumflex over (x)}_(k)}. Alternatively, a frequency domain reference (e.g., a predetermined bit sequence that has been processed by a serial to parallel converter and DFT) may be stored in memory in the receiver, which would eliminate the need for the serial to parallel converter and discrete Fourier transform in the feedback loop.

[0081] Following the initial training, the SCISF is periodically trained during operation of the communication system. A sequence of communication data bits x_(k) is input to the transmitter. Referring to FIG. 6A, the transmitted signal is filtered and noise-corrupted by the transmission channel, resulting in a received sequence {y_(k)} at the output of the A/D 80 in the receiver. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}′_(k)}.

[0082] The received sequence {y_(k)} is also input to a delay 305 and then to a secondary SCISF 300 that has the same coefficients as the primary SCISF 90 following the initial training. The secondary SCISF 300 provides output sequence {{circumflex over (x)}_(k)}, which is compared to a reference sequence during the periodic training process. Such a configuration allows periodic training to be performed without disruption to the operation of the communication system. The secondary SCISF 300 is periodically or continuously trained using an algorithm similar to that used for the initial training. The new coefficients of the secondary SCISF 300 are periodically copied to the primary SCISF 90.

[0083] To compute the reference sequence, the data output of the decoder 140 is input to an encoder 320. The resulting frequency domain signal is input to a scaling filter 520 which applies the set of frequency domain scaling factors Q_(k) that causes the SCISF to adapt to the desired spectral response, as discussed above. The scaled signal is input to an inverse discrete Fourier transform 330, a parallel to serial converter 340 and a cyclic prefix adder 350, resulting in a scaled reference sequence (x*q)_(k). The comparison of the output sequence {{circumflex over (x)}_(k)} to the scaled reference sequence (x*q)_(k) results in an error signal e_(k) that is input to the LMS algorithm processor 215. The training process determines coefficients for the secondary SCISF 300 so that the output {{circumflex over (x)}_(k)} matches the scaled reference sequence (x*q)_(k) as closely as possible in a least squares sense, i.e., the mean square error between the output and the reference sequence is minimized. Periodically, the coefficients of the secondary SCISF 300 are copied to the primary SCISF 90.

[0084] Alternatively, as shown in FIG. 6B, the periodic training may be performed with a single SCISF 90. In this configuration, a received sequence {y_(k)} is output by the A/D 80 in the receiver. The SCISF 90 filters and transforms the received sequence {y_(k)} into an output sequence {{circumflex over (x)}′_(k)}. The received sequence {y_(k)} is also input to a delay. After the received sequence {y_(k)} passes through the SCISF 90, a data switch 360 is changed from position A to position B, allowing the delayed received sequence to make a second pass through the SCISF 90. An output switch 370 also may be opened, so that data is not output during the training process. In addition, the SCISF coefficients are controlled by the LMS algorithm during the training process.

[0085] A reference sequence is computed as in the configuration of FIG. 6A. The data output of the decoder 140 is input to an encoder 320. The resulting frequency domain signal is input to a scaling filter 520 which applies the set of frequency domain scaling factors Q_(k) that causes the SCISF to adapt to the desired spectral response, as discussed above. The scaled signal is input to an inverse discrete Fourier transform 330, a parallel to serial converter 340 and a cyclic prefix adder 350, resulting in a scaled reference sequence (x*q)_(k). The scaled reference sequence is input to the LMS algorithm processor.

[0086] The output sequence {{circumflex over (x)}_(k)} of the second pass through the SCISF 90 is compared (in signal comparator 205) to the reference sequence (x*q)_(k). As noted above, the received sequence {y_(k)} passes through a delay 305 before being input to the SCISF 90 for the second pass. The delay 305 compensates for the processing delay in the demodulation/decoding chain and the encoding/modulation chain. The comparison results in an error signal e_(k) that is input to the LMS algorithm processor 215. The training process determines coefficients for the SCISF 90 so that the output {{circumflex over (x)}_(k)} matches the scaled reference sequence (x*q)_(k) as closely as possible in a least squares sense, i.e., the mean square error between the output and the reference sequence is minimized. The coefficients of the SCISF 90 then are updated to the coefficients determined in the training process.

[0087] In a third embodiment, the system dynamically selects the length of the cyclic prefix (CP) to maximize data throughput for a communication channel having a particular noise profile. As discussed above, a CP is added to each symbol prior to transmission through the communication channel to reduce the effects of ISI. However, because the CP constitutes redundant data, increasing the length of the CP reduces the efficiency of the communication system. Hence, to maximize efficiency, the length of the CP must be as short as the noise characteristics of the communication channel permit.

[0088] For a DMT communication system with M tones, the maximum sample rate W (samples/second) for a particular channel depends, in part, on the available bandwidth and hardware limitations. The sample rate includes communication data and CP bits. For a CP length of n_(c), the maximum symbol rate (which includes communication data, but not the CP) is W/(2M+n_(c)).

[0089] Before determining the optimal CP length, the SCISF should be initially trained to the channel. However, a communication system need not have a SCISF to employ the CP optimization algorithm. It is noted that the SCISF coefficients determined during the training process do not depend on the CP length. The capacity of the sub-channel may be approximated as log(1+SNR_(i)) bits per second, so the number of bits per symbol is Σ_(i)log(1+SNR_(i)). For a CP length of n_(c), the maximum bit rate is expressed as a function of the cyclic prefix as: $\begin{matrix} {{B_{a}\left( n_{c} \right)} = \frac{W\quad {\sum\limits_{i}{\log \quad \left( {1 + {SNR}_{i}} \right)}}}{{2\quad M} + n_{c}}} & (17) \end{matrix}$

[0090] The optimal CP length is determined by computing the maximum bit rate for a set of candidate values of CP length and finding the length that maximizes B_(a)(n_(c)).

[0091] The signal to noise ratio SNR_(i) of each subchannel is determined by measuring the received signal and noise power and computing the ratio of the two. The noise power γ_(i) for the i^(th) bin may be measured by transmitting a data communication sequence and computing the average of the squares of the errors measured at the output of the receiver DFT. The total received power (signal and noise) δ_(i) for the i^(th) bin may be measured by computing the average of the squares of the outputs of the receiver DFT. The signal to noise ratio is determined from the expression: δ_(i)/γ_(i)=1+SNR_(i). Since the signal to noise ratio is determined in the receiver, the computed bit rate B_(a)(n_(c)) must be transmitted back to the transmitter. The transmitter compares the bit rate to the values computed for other candidate CP lengths and selects the CP length n_(c) with the highest maximum bit rate B_(a)(n_(c)).

[0092] FIGS. 7A-7D and 8A-8D show performance simulations for test systems based on system parameters and test loops described in VDSL Alliance SDMT VDSL Draft Standard Proposal, Technical report, ANSI, 1998; and Very-high-speed digital subscriber lines: System requirements, T1E1.4/97-131R1, Technical report, ANSI, 1997. The results are for a VDSL system working over test loops 2 and 6 of length 4500 feet in the upstream direction. The system has a sampling frequency of 11.04 MHz. Noise is generated by near-end cross talk from an interfering ADSL and an interfering HDSL and white noise at a level of −140 dBm. The SCISF used in the simulations is length-15 FIR. A version of the Normalized LMS algorithm is used to train the SCISF during an initial training period using a predetermined transmitted sequence.

[0093] FIGS. 7A-7D show the simulated system performance for a communication system having the parameters defined for Test Loop 2, which is 4500 feet in length. FIG. 7A shows channel frequency response with and without a SCISF. The SCISF provides a much more uniform frequency response across the frequency band of interest and significantly improves the signal to noise ratio (SNR) in the higher frequency bins. FIG. 7B is a plot of the error signal (10log |{circumflex over (x)}_(k)−x_(k)|) during the training process. The error decreases rapidly during the first few iterations and is nearly converged after only 20-30 iterations. FIG. 7C is a plot of transmitted power spectral density, received power spectral density and the additive noise power spectral density over the used subchannels at the output of the receiver A/D. FIG. 7D is a plot of SNR at the input to the receiver A/D, which is the maximum attainable SNR. The plot also shows the SNR at the output of the receiver DFT without a SCISF and the SNR at the outputs of the receiver DFT using an adapted SCISF.

[0094] FIGS. 8A-8D show the simulated system performance for a communication system having the parameters defined for Test Loop 6, which is 4500 feet in length. FIG. 8A shows channel frequency response with and without a SCISF. FIG. 8B is a plot of the error signal (10log |{circumflex over (x)}_(k)−x_(k)|) during the training process. FIG. 8C is a plot of transmitted power spectral density, received power spectral density and the additive noise power spectral density over the used subchannels at the output of the receiver A/D. FIG. 8D is a plot of SNR at the input to the receiver A/D. The plot also shows the SNR at the output of the receiver DFT without a SCISF and the SNR at the outputs of the receiver DFT using an adapted SCISF.

[0095] Other embodiments are within the scope of the following claims. 

What is claimed is:
 1. A method for adapting a primary impulse shortening filter in a multiple carrier communication system, the method comprising: providing a secondary impulse shortening filter, comparing an output signal of the secondary impulse shortening filter to a reference signal to compute an error signal, computing coefficients of the secondary impulse shortening filter in an adaptive processor based on the error signal, and replacing coefficients of the primary impulse shortening filter with coefficients of the secondary impulse shortening filter.
 2. The method of claim 1, further comprising: decoding an output signal of the primary impulse shortening filter to form output data, and encoding the output data to form the reference signal.
 3. The method of claim 2, further comprising applying a discrete Fourier transform to the output signal of the primary impulse shortening filter prior to decoding the output signal.
 4. The method of claim 2, further comprising applying an inverse discrete Fourier transform to the encoded output data in forming the reference signal.
 5. The method of claim 1, further comprising: receiving a digital signal from an output of an analog to digital converter, applying the digital signal to the primary impulse shortening filter, delaying the digital signal to produce a delayed digital signal, applying the delayed digital signal to the secondary impulse shortening filter, and applying the delayed digital signal to the adaptive processor.
 6. The method of claim 2, further comprising scaling the encoded output data with a set of scaling factors in forming the reference signal.
 7. The method of claim 6, wherein the scaling factors are determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, and computing the scaling factors so that the coefficients computed in the adaptive processor provide the secondary impulse shortening filter with a spectral response that matches the desired spectral response.
 8. The method of claim 7, further comprising applying a discrete Fourier transform to the output signal of the primary impulse shortening filter prior to decoding the output signal and measuring the noise power spectral density at an output of the discrete Fourier transform.
 9. The method of claim 6, further comprising applying an inverse discrete Fourier transform to the scaled, encoded output data.
 10. A method for adapting an impulse shortening filter in a multiple carrier communication system having a spectrally constrained impulse shortening filter, the method comprising: comparing an output signal of the spectrally constrained impulse shortening filter to a reference signal to compute an error signal, and computing coefficients of the spectrally constrained impulse shortening filter in an adaptive processor based on the error signal.
 11. The method of claim 10, wherein the reference signal comprises a predetermined signal stored in a memory in the communication system.
 12. The method of claim 10, further comprising: scaling predetermined reference values with a set of scaling factors to form scaled values, and applying an inverse discrete Fourier transform to the scaled values to form the reference signal.
 13. The method of claim 12, wherein the scaling factors are determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, and computing the scaling factors so that the coefficients computed in the adaptive processor provide the secondary impulse shortening filter with the desired spectral response.
 14. The method of claim 10, further comprising: receiving a data signal from an output of an analog to digital converter, applying the data signal to the spectrally constrained impulse shortening filter, and applying the data signal to the adaptive processor.
 15. A method for adapting an impulse shortening filter in a multiple carrier communication system having a spectrally constrained impulse shortening filter, the method comprising: receiving a digital signal, applying the digital signal to the spectrally constrained impulse shortening filter to obtain a first output signal, computing a reference signal from the first output signal, delaying the digital signal to produce a delayed digital signal, applying the delayed digital signal to the spectrally constrained impulse shortening filter to obtain a second output signal, comparing the second output signal to the reference signal to compute an error signal, and computing coefficients of the spectrally constrained impulse shortening filter in an adaptive processor based on the error signal.
 16. The method of claim 15, wherein computing the reference signal comprises: decoding the first output signal to form output data, and encoding the output data to form the reference signal.
 17. The method of claim 16, wherein computing the reference signal further comprises applying a discrete Fourier transform to the first output signal prior to decoding the first output signal.
 18. The method of claim 16, wherein computing the reference signal further comprises applying an inverse discrete Fourier transform to the encoded output data.
 19. The method of claim 16, wherein computing the reference signal further comprises scaling the encoded output data with a set of scaling factors.
 20. The method of claim 19, wherein the scaling factors are determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, and computing the scaling factors so that the coefficients computed in the adaptive processor provide the spectrally constrained impulse shortening filter with a spectral response that matches the desired spectral response.
 21. The method of claim 20, further comprising applying a discrete Fourier transform to the first output signal prior to decoding the first output signal and measuring the noise power spectral density at an output of the discrete Fourier transform.
 22. The method of claim 19, further comprising applying an inverse discrete Fourier transform to the scaled, encoded output data.
 23. A multiple carrier communication system comprising: a primary impulse shortening filter connected to receive a digital signal and to accept coefficients, a secondary impulse shortening filter connected to receive the digital signal, output an output signal, and pass coefficients to the primary impulse shortening filter, a reference signal generator configured to output a reference signal, a comparator connected to compare the output signal and the reference signal and output a resulting error signal, and an adaptive processor that computes coefficients for the secondary impulse shortening filter based on the error signal.
 24. The multiple carrier communication system of claim 23, further comprising: a discrete Fourier transform connected to receive an output signal of the primary impulse shortening filter, and a decoder connected to receive the transformed output signal from the discrete Fourier transform.
 25. The multiple carrier communication system of claim 24, wherein the reference signal generator comprises an encoder connected to receive output data from the decoder.
 26. The multiple carrier communication system of claim 25, wherein the reference signal generator further comprises a scaling filter connected to scale the output data from the encoder using a set of scaling factors.
 27. The multiple carrier communication system of claim 26, wherein the scaling factors are determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, computing the scaling factors so that the coefficients computed in the adaptive processor provide the secondary impulse shortening filter with the desired spectral response.
 28. The multiple carrier communication system of claim 26, further comprising an inverse discrete Fourier transform connected to receive the scaled output signal from the scaling filter.
 29. A multiple carrier communication system comprising: a spectrally constrained impulse shortening filter connected to receive a digital signal and to accept coefficients, a reference signal generator configured to output a reference signal, a comparator connected to compare the digital signal and the reference signal and output a resulting error signal, and an adaptive processor that computes coefficients for the spectrally constrained impulse shortening filter based on the error signal.
 30. The multiple carrier communication system of claim 29, further comprising a memory that stores the reference signal as a predetermined signal.
 31. The multiple carrier communication system of claim 30, further comprising: a discrete Fourier transform connected to receive the reference signal from the memory, a scaling filter connected to scale the reference signal using a set of scaling factors, and an inverse discrete Fourier transform connected to receive the scaled reference signal.
 32. The multiple carrier communication system of claim 31, wherein the scaling factors are determined by: measuring received noise power spectral density, computing a desired spectral response based on the measured noise power, computing the scaling factors so that the coefficients computed in the adaptive processor provide the spectrally constrained impulse shortening filter with the desired spectral response.
 33. A method for adapting a primary impulse shortening filter in a multiple carrier communication system, the method comprising: selecting a first cyclic prefix length for the communication system from a set of candidate lengths, transmitting data having a cyclic prefix of the first selected length to a receiver, computing a first maximum bit rate value in the receiver for the first selected length, and sending the first maximum bit rate value to the transmitter.
 34. The method of claim 33, wherein computing the maximum bit rate value comprises measuring received signal power and received noise power of the transmitted data.
 35. The method of claim 33, further comprising: selecting a second cyclic prefix length for the communication system from the set of candidate lengths, transmitting data having a cyclic prefix of the second selected length to a receiver, computing a second maximum bit rate value in the receiver for the second selected length, sending the second maximum bit rate value to the transmitter, comparing the first maximum bit rate value to the second maximum bit rate value, and selecting the cyclic prefix length corresponding to the greater of the first and second maximum bit rate values. 